home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
pcxsee.zip
/
PCX_VIEW.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-08-23
|
4KB
|
93 lines
PROGRAM PCX_VIEW;
{ This program displays PCX graphic picture files in either 2, 4, 16 or 256
colors on either a CGA, EGA, MCGA or VGA graphics card. }
USES
Dos, OpString, OpCrt, OpRoot, OpCmd, OpFrame, OpWindow, OpPick, OpDir, showpcx;
{Color set used by Directory "menu"}
CONST
MenuColors : ColorSet = (
TextColor : $4E {YellowOnRed} ; TextMono : $07 {LtGrayOnBlack} ;
CtrlColor : $1E {YellowOnBlue} ; CtrlMono : $0F {WhiteOnBlack} ;
FrameColor : $4A {LtGreenOnRed} ; FrameMono : $07 {LtGrayOnBlack} ;
HeaderColor : $4F {WhiteOnRed} ; HeaderMono : $70 {BlackOnLtGray} ;
ShadowColor : $00 {BlackOnBlack} ; ShadowMono : $0F {WhiteOnBlack} ;
HighlightColor : $4F {WhiteOnRed} ; HighlightMono : $70 {BlackOnLtGray} ;
PromptColor : $30 {BlackOnCyan} ; PromptMono : $07 {LtGrayOnBlack} ;
SelPromptColor : $30 {BlackOnCyan} ; SelPromptMono : $07 {LtGrayOnBlack} ;
ProPromptColor : $30 {BlackOnCyan} ; ProPromptMono : $07 {LtGrayOnBlack} ;
FieldColor : $1E {YellowOnBlue} ; FieldMono : $07 {LtGrayOnBlack} ;
SelFieldColor : $31 {BlueOnCyan} ; SelFieldMono : $0F {WhiteOnBlack} ;
ProFieldColor : $17 {LtGrayOnBlue} ; ProFieldMono : $07 {LtGrayOnBlack} ;
ScrollBarColor : $13 {CyanOnBlue} ; ScrollBarMono : $07 {LtGrayOnBlack} ;
SliderColor : $13 {CyanOnBlue} ; SliderMono : $0F {WhiteOnBlack} ;
HotSpotColor : $30 {BlackOnCyan} ; HotSpotMono : $70 {BlackOnLtGray} ;
BlockColor : $3E {YellowOnCyan} ; BlockMono : $0F {WhiteOnBlack} ;
MarkerColor : $5F {WhiteOnMagenta} ; MarkerMono : $70 {BlackOnLtGray} ;
DelimColor : $31 {BlueOnCyan} ; DelimMono : $0F {WhiteOnBlack} ;
SelDelimColor : $31 {BlueOnCyan} ; SelDelimMono : $0F {WhiteOnBlack} ;
ProDelimColor : $31 {BlueOnCyan} ; ProDelimMono : $0F {WhiteOnBlack} ;
SelItemColor : $7A {LtGreenOnLtGray} ; SelItemMono : $70 {BlackOnLtGray} ;
ProItemColor : $47 {LtGrayOnRed} ; ProItemMono : $07 {LtGrayOnBlack} ;
HighItemColor : $4F {WhiteOnRed} ; HighItemMono : $0F {WhiteOnBlack} ;
AltItemColor : $4F {WhiteOnRed} ; AltItemMono : $0F {WhiteOnBlack} ;
AltSelItemColor : $3F {WhiteOnCyan} ; AltSelItemMono : $70 {BlackOnLtGray} ;
FlexAHelpColor : $4F {WhiteOnRed} ; FlexAHelpMono : $0F {WhiteOnBlack} ;
FlexBHelpColor : $4F {WhiteOnRed} ; FlexBHelpMono : $0F {WhiteOnBlack} ;
FlexCHelpColor : $1B {LtCyanOnBlue} ; FlexCHelpMono : $70 {BlackOnLtGray} ;
UnselXrefColor : $1E {YellowOnBlue} ; UnselXrefMono : $09 {LtBlueOnBlack} ;
SelXrefColor : $5F {WhiteOnMagenta} ; SelXrefMono : $70 {BlackOnLtGray} ;
MouseColor : $4F {WhiteOnRed} ; MouseMono : $70 {BlackOnLtGray}
);
VAR
Dir : DirList;
Finished : Boolean;
BEGIN
TextMode(co80); { start in 25 x 80 text mode }
IF NOT Dir.InitCustom(25, 5, 55, 20, {Window coordinates}
MenuColors, {ColorSet}
DefWindowOptions OR wBordered, {Window options}
MaxAvail, {Heap space for files}
PickVertical, {Pick orientation}
SingleFile) {Command handler}
THEN BEGIN
WriteLn('Failed to Init DirList, Status = ', InitStatus);
Halt;
END;
{Set desired DirList features}
Dir.SetPosLimits(1, 1, ScreenWidth, ScreenHeight-1);
Dir.SetPadSize(1, 1);
Dir.diOptionsOn(diOptimizeSize);
Dir.AddMaskHeader(True, 1, 30, heTC);
Dir.SetSortOrder(SortName);
Dir.SetNameSizeTimeFormat('<dir>', 'Mm/dd/yy', 'Hh:mmt');
Dir.SetMask('*.PCX', AnyFile);
{Pick a file}
Finished := False;
REPEAT
Dir.Process;
CASE Dir.GetLastCommand OF
ccSelect :
BEGIN
ShowPicture(Dir.GetSelectedPath);
Dir.wFrame.Draw;
END;
ccError :
BEGIN {!!.01}
FastWrite('Error '+Long2Str(Dir.GetLastError),
ScreenHeight, 1, TextAttr);
Finished := True; {!!.01}
END; {!!.01}
ccQuit :
Finished := True;
{Process other exit commands}
END;
UNTIL Finished;
Dir.Done;
END.